package com.niiwoo.civet.mobile.vo.response.invest;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

/**
 * Created by lujing on 2018/5/12.
 */
@Setter
@Getter
@ApiModel("投资订单详情")
public class InvestOrderStatusDetailResponseVO {
    @ApiModelProperty(value = "用户头像", required = true)
    private String headImg;
    @ApiModelProperty(value = "用户昵称", required = true)
    private String nickName;
    @ApiModelProperty(value = "借款期限", required = true)
    private Integer deadline;
    @ApiModelProperty(value = "借款期限单位-1月，2天", required = true)
    private Byte deadlineUnit;
    @ApiModelProperty(value = "借款利率", required = true)
    private BigDecimal borrowRate;
    @ApiModelProperty(value = "标的加息", required = true)
    private BigDecimal addRate;
    @ApiModelProperty(value = "订单状态1投资中,2回款中,3回款逾期,4已关闭,5已结清,6转让中,7已转让,8已提前结清", required = true)
    private Byte status;
    @ApiModelProperty(value = "投资本金", required = true)
    private BigDecimal amount;
    @ApiModelProperty(value = "参考收益/已赚收益(待收利息+平台或活动加息+加息券加息)", required = true)
    private BigDecimal referenceIncome;
    @ApiModelProperty(value = "待收利息/已收利息", required = true)
    private BigDecimal interest;
    @ApiModelProperty(value = "已收罚息", required = true)
    private BigDecimal penaltyFee;
    @ApiModelProperty(value = "平台或活动加息", required = true)
    private BigDecimal platformAddInterest;
    @ApiModelProperty(value = "加息券加息", required = true)
    private BigDecimal prizeAddInterest;
    @ApiModelProperty(value = "标的类型-0:全部，1:社保贷，2:信用卡贷，3:房抵贷，4:车抵贷，5:供应链贷，6:债转标，7：极速贷，9:其他,10:消费贷,11:生意贷", required = true)
    private Byte productType;
    @ApiModelProperty(value = "标的类型描述 社保贷，信用卡贷，房抵贷，车抵贷，供应链贷，债转标，极速贷，其他,消费贷,生意贷", required = true)
    private String productTypeDesc;
    @ApiModelProperty(value = "还款方式-1到期还本息，2等额本息，3按月还息，到期还本", required = true)
    private Byte repaymentType;
    @ApiModelProperty(value = "投资使用卡劵", required = true)
    private String prize;
    @ApiModelProperty(value = "提交时间", required = true)
    private Date submitTime;
    @ApiModelProperty(value = "订单编号", required = true)
    private Long orderId;
    @ApiModelProperty(value = "标的ID", required = true)
    private Long projectId;
    // 待满标状态查询返回
    @ApiModelProperty(value = "合同金额", required = true)
    private BigDecimal contractAmount;
    @ApiModelProperty(value = "剩余募集时间", required = true)
    private Long remainRecuitTime;
    @ApiModelProperty(value = "待满标金额", required = true)
    private BigDecimal fullScaleAmount;
    @ApiModelProperty(value = "是否可以追加投资0是,1否", required = true)
    private Byte isCanInvest;
    // 待回款、回款逾期、转让中状态查询返回
    @ApiModelProperty(value = "当前期数", required = true)
    private Integer currentPeriod;
    @ApiModelProperty(value = "预计回款日期", required = true)
    private Date repayTime;
    @ApiModelProperty(value = "预计回款金额", required = true)
    private BigDecimal repayAmount;
    @ApiModelProperty(value = "总回款期数", required = true)
    private Integer totalRepayPeriods;
    @ApiModelProperty(value = "总待收本息", required = true)
    private BigDecimal totalRepayPriInter;
    @ApiModelProperty(value = "当期回款应收金额", required = true)
    private BigDecimal currentTotalAmount;
    @ApiModelProperty(value = "当期部分回款已收金额", required = true)
    private BigDecimal currentRepayAmount;
    @ApiModelProperty(value = "计息日期", required = true)
    private Date calInterTime;
    @ApiModelProperty(value = "到期日期", required = true)
    private Date expireTime;
    @ApiModelProperty(value = "订单关闭时间", required = true)
    private Date orderCloseTime;
    @ApiModelProperty(value = "结束日期", required = true)
    private Date endTime;
    @ApiModelProperty(value = "订单关闭原因", required = true)
    private String message;
    @ApiModelProperty(value = "转让金额", required = true)
    private BigDecimal transferAmount;
    @ApiModelProperty(value = "订单的实收金额(本金+利息+加息)", required = true)
    private BigDecimal ricevutoAmount;
    @ApiModelProperty(value = "债权转让开关；0-关，1-开", required = true)
    private String debtOnOff;
    @ApiModelProperty(value = "债权本金", required = true)
    private BigDecimal creditorPrincipal;
    @ApiModelProperty(value = "受让利息", required = true)
    private BigDecimal assigneeInterest;
    @ApiModelProperty(value = "折让金额", required = true)
    private BigDecimal discountAmount;

    @ApiModelProperty(value = "债权出让订单id", required = true)
    private Long creditorSaleDetailId;
    @ApiModelProperty(value = "债权出让用户id", required = true)
    private String creditorSaleUserId;
    @ApiModelProperty(value = "剩余期数月(债转标使用)", required = true)
    private Integer remainingDeadlineMonth;
    @ApiModelProperty(value = "剩余期数天(债转标使用)", required = true)
    private Integer remainingDeadlineDay;
    @ApiModelProperty(value = "是否展示项目群入口(true:展示;false:不展示)", required = true)
    private Boolean isShowProjectGroup;
    @ApiModelProperty(value = "是否企业标-企业标头像展示本地图片(true:企业标;false:非企业标)", required = true)
    private Boolean isEnterpriseProject;

    @ApiModelProperty(value = "借款类型为其它的标签是否展示(true:展示;false:不展示)", required = true)
    private Boolean isShowOtherLoanTypeLabel;

    @ApiModelProperty(value = "投资类型：1-原始标，2-债转标，3-智能投)", required = true)
    private Byte investType;

}
